.\" Copyright (C) 2004,2007 International Business Machines Corporation
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
.\" Revised by Ramon Brandão based on Trusted Computing Group Software Stack Specification Version 1.2
.\"
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "Tspi_Context_GetRegisteredKeysByUUID2" 3 "2007-07-06" "TSS 1.2" "TCG Software Stack Developer's Reference"
.SH NAME
Tspi_Context_GetRegisteredKeysByUUID2 \- get an array of TSS_KM_KEYINFO2 structures based on the state of persistent storage.
.SH "SYNOPSIS"
.ad l
.hy 0
.nf
.B #include <tss/platform.h>
.B #include <tss/tcpa_defines.h>
.B #include <tss/tcpa_typedef.h>
.B #include <tss/tcpa_struct.h>
.B #include <tss/tss_typedef.h>
.B #include <tss/tss_structs.h>
.B #include <tss/tspi.h>
.sp
.BI "TSS_RESULT Tspi_Context_GetRegisteredKeysByUUID2(TSS_HCONTEXT     " hContext ",  TSS_FLAG " persistentStorageType ","
.BI "                                                TSS_UUID*        " pUuidData ", UINT32*  " pulKeyHierarchySize ","
.BI "                                                TSS_KM_KEYINFO2** " ppKeyHierarchy ");"
.fi
.sp
.ad
.hy

.SH "DESCRIPTION"
.PP
\fBTSS_Context_GetRegisteredKeysByUUID2\fR  gets an array of TSS_KM_KEYINFO2 structures. This information reflects the state of the registered key hierarchy. The keys stored in the persistent storage are totallly independent from either the context provided in the function call or the context, which was provided while processing the key registration.
.SH "PARAMETERS"
.PP
.SS hContext
The handle of the context object.
.PP
.SS persistentStorageType
Flag indicating the persistent storage the key is registered in.
.PP
.SS pUuidData
The UUID the key was registered in the persistent storage (TSP or connected TCS). If no key UUID is provided, thus KeyUUID is NULL, the returned array of the TSS_KM_KEYINFO2 structure contains data reflecting the whole key hierarchy starting with root key. If a certain key is UUID is provided, the returned array of TSS_KM_KEYINFO2 structures only contains data reflecting the path of the key hierarchy regarding that key. The first array entry is the key addressed by the given UUID followed by its parent key up to the root key. 
.PP
.SS pulKeyHierarchySize
Recieves the length (number of array entries) of the ppKeyHierarchy parameter.
.PP
.SS ppKeyHierarchy
On successful completion of the command, this parameter points to a buffer containing the actual key hierarchy data. 
.SH "RETURN CODES"
.PP
\fBTspi_Context_GetRegisteredKeysByUUID2\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
.TP
.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
.TP
.SM TSS_E_BAD_PARAMETER
.TP
.SM TSS_E_INTERNAL_ERROR
An error occurred internal to the TSS.
.SH "CONFORMING TO"

.PP
\fBTspi_Context_GetRegisteredKeysByUUID2\fR conforms to the Trusted Computing Group Software Specification version 1.2
.SH "SEE ALSO"

.PP
\fBTspi_Context_LoadKeyByUUID\fR(3).
